package cn.liip.demo.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import cn.liip.demo.domain.User;

/**
 * t_user 操作：演示两种方式
 *  第一种是基于mybatis3.x版本后提供的注解方式
 * 
 * 第二种是早期写法，将SQL写在 XML 中
 * 增加@Mapper这个注解之后，Spring 启动时会自动扫描该接口，这样就可以在需要使用时直接注入 Mapper 了
 */
@Mapper
public interface UserMapper {

	/**
	 * 根据用户名查询用户结果集
	 *
	 * @param username 用户名
	 * @return 查询结果
	 */
	@Select("SELECT * FROM t_user WHERE username = #{username}")
	List<User> findByUsername(@Param("username") String username);

	/**
	 * 根据id查询用户结果，早期写法，将SQL写在 XML 中
	 * @param id
	 * @return
	 */
	//@Select("SELECT * FROM t_user WHERE id = #{id}")
	User findById(Integer id);
	/**
	 * 保存用户信息
	 *
	 * @param user 用户信息
	 * @return 成功 1 失败 0
	 */
	int addUser(User user);
}